/*lic*/
#ifndef __BSP_BASE_DEF_H__
#define __BSP_BASE_DEF_H__

#include <stdint.h>
#include <stddef.h>

// 毫秒计数
extern uint32_t ms_cnt;


// 状态控制及读取
#define STATU_SET(x, y) x |= (y)
#define STATU_RESET(x, y) x &= ~(y)
#define STATU_GET(x, y) ((x & y) == y)
#define STATU_GET_NOT(x, y) ((x & y) == 0x00)

/**
 * @addtogroup Error
 */

/**@{*/

/* RT-Thread error code definitions */
#define STATUS_EOK                          0               /**< 无错误，成功 */
#define STATUS_ERROR                        1               /**< 一个常规错误，一般无法定义错误类型 */
#define STATUS_ETIMEOUT                     2               /**< 超时错误 */
#define STATUS_EFULL                        3               /**< 资源满 */
#define STATUS_EEMPTY                       4               /**< 资源为空 */
#define STATUS_ENOMEM                       5               /**< 存储空间不足 */
#define STATUS_ENOSYS                       6               /**< No system */
#define STATUS_EBUSY                        7               /**< 忙错误 */
#define STATUS_EIO                          8               /**< IO错误 */
#define STATUS_EINTR                        9               /**< 中断异常错误 */
#define STATUS_EINVAL                       10              /**< 资源冲突错误 */


uint8_t bcd_to_uint8(uint8_t bcd);



#endif /* __BSP_BASE_DEF_H__ */

/*eof*/
